package serverApp.threads;

/*
 * класс для проверки логина и пароля входа в систему
 */

import java.io.*;
import java.net.*;
import java.util.*;

import netInterfaces.SocketMessengerConstants;;

public class LoginThread extends Thread{
	
	private BufferedReader input;
	private boolean login = false;
	
	public LoginThread(Socket clientSocket){
		super ("LoginThread " + clientSocket);
		
		//задать таймаут для чтеия из clientSocket И создать BufferedReader для чтения входящих сообщений
		try {
			clientSocket.setSoTimeout(5000);
			input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
		}
		catch (IOException exp){
			exp.printStackTrace();
		}
	}
	
	//получить сообщение с login/pass и направить их на MessageListener
	public void run(){
		String message;
		String name;
		
		
			try {
				message = input.readLine();
			}
			//обработка исключения при истечении таймаута
			
			catch (IOException exp){
				exp.printStackTrace();
				return;
			}
		
			if (message != null){
				StringTokenizer tokenizer = new StringTokenizer(message, SocketMessengerConstants.MESSAGE_SEPARATOR);
			
				if ((name = tokenizer.nextToken()).equals("admin") && tokenizer.nextToken().equals("admin") && 
							tokenizer.equals("")){
					login = true;
				}
				else {
					login = false;
				}
			}
		
	}
	
	
	public boolean isLogin(){
		return login;
	}

}
